Email: decentralized protocol, but dominated by centralized webmail services.
Beyond the protocol, we have exchanges, wallet software, service providers, etc.
Peer-to-peer network
Mining
Updates to software
Key technical challenge of decentralized e-cash: distributed consensus
or: how to decentralize ScroogeCoin?
Traditional motivation: reliability in distributed systems
Distributed key-value store enables various applications: DNS, public key directory, stock trades, etc. These are good targets for Altcoins!
At any given time:
Example: Paxos
These results say more about the model than about the proble.
The models were developed to study systems like distributed databases.
Introduces incentives
Embraces randomess
50%
maliciousAnalogy: lottery or raffle
When tracking and verifying identities is hard, we give prople tokens, tickets, etc.
Now we can pick a random ID and select that node.
Steal bitcoins of another address that it doesn't control
Deny service to a particular user by not including any transaction from the user in the block proposed by the node
Double-spending attack
Honest nodes will extend the longest valid branch.
Can we give nodes incentives for behaving honestly?
Note: Penalizing is problematic because there is no identity system, so there is no way to go after dishonest actors and penalize them.
Everything so far is just a distributed consensus protocol. But now we utilize the fact that the currency has value.
To approximate selecting a random node:
Attacks infeasible if majority of miners weighted by hash power follow the protocol.
H(nonce | prev_hash | tx | ... | tx) < target
Steal coins from existing address?
Supress some transactions?
Change the block reward?
Destroy confidence in Bitcoin?